#pragma once

class CSyntacticAnalyzer
{
public:
	CSyntacticAnalyzer(void);
	vector <treePtr> GetTrees(vector <string> tokens);
	~CSyntacticAnalyzer(void);
private: 
	bool ExpectationSemicolon(vector <string>::iterator & tokens);
	bool ExpectationLeftBracket(vector <string>::iterator & tokens);
	bool ExpectationVariable(vector <string>::iterator & tokens, treePtr & trees);
	bool ExpectationRightBracket(vector <string>::iterator & tokens);
	bool ExpectationExpression(vector <string>::iterator & tokens, vector <treePtr> & trees);
	bool ExpectationWhile(vector <string>::iterator & tokens, vector <treePtr> & trees, vector <string> & tokensArr);
	bool ExpectationCommand(vector <string>::iterator & tokens, vector <treePtr> & trees);
};
